指定した値と同じ場合はNULLを返すNULLIF関数

您所在的位置:网站首页 sqlserver nullif 指定した値と同じ場合はNULLを返すNULLIF関数

指定した値と同じ場合はNULLを返すNULLIF関数

2024-07-11 07:54| 来源: 网络整理| 查看: 265

指定した値と同じ場合はNULLを返すNULLIF関数の解説します。

使いどころがいまいち不明な「NULLIF()」NULLIF()は値が同じならNULLを返す 使いどころがいまいち不明な「NULLIF()」

SQLServerには使いどころがいまいち不明な関数があります。 そのなかの一つ「NULLIF()」。

NULLIF()は値が同じならNULLを返す

NULLIF()は2つの引数を持ち、その引数の値が同じならNULL、違うなら 第1引数の値を返します。

でも使いどころいまいち不明です。 一応使い方のサンプル

CREATE TABLE test_table ( no INT ,name VARCHAR(20) ,age INT ) INSERT INTO test_table VALUES( 1, 'taro', 10 ) INSERT INTO test_table VALUES( 2, 'jiro', 0 ) INSERT INTO test_table VALUES( 3, 'hanako', 20 ) INSERT INTO test_table VALUES( 4, 'yoshiko', 30 ) INSERT INTO test_table VALUES( 5, 'no-name', 40 ) SELECT AVG( NULLIF( age, 0 )) AS _ゼロの人は含めない平均値 ,AVG( age ) AS _ゼロの人も含める平均値 FROM test_table DROP TABLE test_table

で、実行結果は

_ゼロの人は含めない平均値 _ゼロの人も含める平均値 25 20

どこかのサイトには割り算の分母が0の場合は例外エラーが発生するので、

SELECT 100 / NULLIF( point, 0 )) AS _ゼロ割を防ぐ FROM test_table

みたいな例があったけどWhere句で「point!=0」って書けば済むような気がします。

ちょっと使いどころいまいち不明のままです。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3